package com.itany.corejava.code12_线程;

/**
 * @author 石小俊
 * @date 2023年05月15日 11:36
 */
public class Test04_生命周期 {
    public static void main(String[] args) {
        MyThread mt = new MyThread();
        Thread t1 = new Thread(mt, "线程1");
        t1.start();

        for (int i = 0; i < 100; i++) {
            // 当main线程打印的i的值为10时,将t1插队进来执行
//            try {
//                if(i == 10){
//                    t1.join();
//                }
//            } catch (InterruptedException e) {
//                e.printStackTrace();
//            }
            System.out.println(Thread.currentThread().getName() + "正在打印" + i);
        }
        // 主线程结束之后立刻中断t1
        // 此时的t1立刻结束休眠状态,就如就绪状态
        t1.interrupt();

    }
}

class MyThread implements Runnable {

    @Override
    public void run() {
        for (int i = 0; i < 100; i++) {
            try {
                // 当i=10,使得线程休眠2秒
                if (i == 10) {
                    Thread.sleep(2000);
                }
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println(Thread.currentThread().getName() + "正在打印" + i);
        }
    }
}